package com.itheima.reggie.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.itheima.reggie.common.R;
import com.itheima.reggie.dto.DishDto;
import com.itheima.reggie.entity.Dish;
import com.itheima.reggie.service.DishService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@Slf4j
@RequestMapping("/dish")
public class DishController {
@Autowired
    private  DishService dishService;

    /**
     *新增菜品和口味信息
     * @param disDto
     * @return
     */
    @PostMapping
//用Dish不行 成员变量不够用 没口味选择
    public R save(@RequestBody DishDto disDto){
        dishService.saveDishAndFlavors(disDto);

        return  R.success();
    }

    /**
     * 菜品的分页查询
     * @param page  当前访问的页数
     * @param pageSize  当前页访问的数据条数
     * @param name  根据菜名进行查询
     * @return
     */
   @GetMapping("/page")
 public R page(Integer page,Integer pageSize,String name){

    IPage<DishDto> p =dishService.getPage(page,pageSize,name);
    return  R.success(p);
 }

    /**
     * 根据id查询菜品信息和对应的口味信息(数据回显)
     * @param id
     * @return
     */
 @GetMapping("{id}")
public R DishAndFlavor(@PathVariable Long id){
DishDto dishDto=dishService.DishAndFlavor(id);

   return R.success(dishDto);
}

    /**
     * 修改菜品和对应的口味
     * @param dishDto
     * @return
     */
    @PutMapping
public R updateDishAndFlavor(@RequestBody DishDto dishDto){
dishService.updateDishAndFlavor(dishDto);
       return R.success();
}


    /**
     *
     * 套餐管理中查询指定分类下的所有菜品
     * @param dish
     * @return
     */
    @GetMapping("/list")
  public  R save(Dish dish){
        List<DishDto> dishList = dishService.getDishListByCId(dish);

       return R.success(dishList);
}

}
/*
* 完成后端功能后, 开始做移动端系统的菜品套餐数据展示功能
* 需要解决这个问题:
* 1.菜品数据中不包含口味数据
* 2.某个分类下的套餐数据,现在没有
*
* */